//Añadimos la librería math.h
#include <math.h>


// ------- CONSTANTES Y DEFINICIONES GLOBALES ----------------------------------
 
//Pines para los LED
const int pinLed1 = 8;
const int pinLed2 = 9;
const int pinLed3 = 10;
const int pinLed4 = 11;
const int pinLed5 = 12;
 
//Pines para las entradas analógicas
const int analogPin1 = 0;
const int analogPin2 = 1;


 
//Datos para las ecuaciones de la NTC
 
const float Vin = 5.0;     // [V]       Tensión alimentación del divisor
const float Rfija = 1000;  // [ohm]     Resistencia fija del divisor
const float R25 = 2800;    // [ohm]     Valor de NTC a 25ºC
const float Beta = 3950.0; // [K]      Parámetro Beta de NTC
const float T0 = 293.15;   // [K]       Temperatura de referencia en Kelvin


// ------- FUNCIONES  ----------------------------------

void setTemperatureLedStatus(int led1, int led2, int led3, int led4, int led5) 
{
    digitalWrite(pinLed1, led1);
    digitalWrite(pinLed2, led2);
    digitalWrite(pinLed3, led3);
    digitalWrite(pinLed4, led4);
    digitalWrite(pinLed5, led5);
}

float getTemperature()
{
  //Primero la Vout del divisor de tensión donde está la NTCs
  float Vout=(Vin/1024)*(analogRead(analogPin1));
  //Ahora la resistencia de la NTC (en ohm)
  float Rntc=(Vout*Rfija)/(Vin-Vout);
  //Calculamos la temperatura en Kelvin resolviendo la ecuación
  float TempK = Beta/(log(Rntc/R25)+(Beta/T0));
  //Y ahora la pasamos a celsius
  float TempC = TempK - 273.15;
  return TempC;
}

double getBaseTempLevel()
{
    //Primero leemos el potenciómetro
  double tempMin = analogRead(analogPin2);
  //Mapeamos los valores de [0,1023] a valores de [-100,800]
  //Y lo dividimos entre 10 para darle un decimal
  tempMin = map(tempMin, 0, 1023, -100, 800) / 10;
  return tempMin;
}


 

